package lanqiao._02算法训练.page01;

import java.util.Arrays;
import java.util.Scanner;

/**
 * @author 挚爱之夕
 * @version 1.0
 * @implSpec
 * 问题描述
 * 　　kAc有n堆糖果，每堆有A[i]个。
 * 　　kAc说你只能拿m次糖果，聪明的你当然想要拿最多的糖果来吃啦啦啦~
 * 　　//第二天，kAc问你还想吃糖果么？（嘿嘿嘿）说着眼角路出奇怪的微笑...
 * 输入格式
 * 　　第一行两个数字n和m，第二行有n个数字A[i]。
 * 输出格式
 * 　　输出一行表示最多能拿几个糖果。
 * 样例输入
 * 2 2
 * 1 2
 * 样例输出
 * 3
 * 数据规模和约定
 * 　　0<n≤1000
 * 　　其余数字都是不超过1,000,000,000的非负整数。
 * 思路：
 * 排序每次取最大的
 * @since 2022 - 10 - 29 - 23:22
 */
public class _07kAc给糖果吃 {
}
class Main7{
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt(), m = sc.nextInt();
        int[] nums = new int[n];
        for(int i = 0; i < nums.length; i++){
            nums[i] = sc.nextInt();
        }
        //排序
        Arrays.sort(nums);
        long sum = 0;
        for(int i = nums.length - 1; i >= nums.length - m && i >= 0; i--){
            sum += nums[i];
        }
        System.out.println(sum);
    }
}